package com.luobo.todolist.mapper;

import com.luobo.todolist.entity.Todo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Todo数据访问层
 */
@Mapper
public interface TodoMapper {
    /**
     * 新增待办事项
     */
    int insert(Todo todo);

    /**
     * 根据ID删除待办事项
     */
    int deleteById(Long id);

    /**
     * 更新待办事项
     */
    int update(Todo todo);

    /**
     * 更新待办事项状态
     */
    int updateStatus(@Param("id") Long id, @Param("status") Integer status);

    /**
     * 根据ID查询待办事项
     */
    Todo selectById(Long id);

    /**
     * 查询所有待办事项
     */
    List<Todo> selectAll();

    /**
     * 按状态查询待办事项
     */
    List<Todo> selectByStatus(Integer status);
} 